home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 March / macformat-022.iso / Shareware City / Developers / src / out-of-phase-102-c / OutOfPhase 1.02 Source / OutOfPhase Folder / InstrumentStructure.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-23  |  1.4 KB  |  49 lines  |  [TEXT/KAHL]

  1. /* InstrumentStructure.h */
  2.  
  3. #ifndef Included_InstrumentStructure_h
  4. #define Included_InstrumentStructure_h
  5.  
  6. /* InstrumentStructure module depends on */
  7. /* MiscInfo.h */
  8. /* Audit */
  9. /* Debug */
  10. /* Definitions */
  11. /* Memory */
  12. /* LFOListSpecifier */
  13. /* OscillatorListSpecifier */
  14.  
  15. /* this is abstracted so that we can somewhat easily change it if we need to */
  16. typedef double InstrNumberType;
  17.  
  18. /* forwards */
  19. struct LFOListSpecRec;
  20. struct OscillatorListRec;
  21.  
  22. struct InstrumentRec;
  23. typedef struct InstrumentRec InstrumentRec;
  24.  
  25. /* create a new instrument specification record */
  26. InstrumentRec*                        NewInstrumentSpecifier(void);
  27.  
  28. /* dispose of the instrument specification record */
  29. void                                            DisposeInstrumentSpecification(InstrumentRec* Instr);
  30.  
  31. /* get the overall loudness of the instrument */
  32. InstrNumberType                        GetInstrumentOverallLoudness(InstrumentRec* Instr);
  33.  
  34. /* put a new value for overall loudness */
  35. void                                            InstrumentSetOverallLoudness(InstrumentRec* Instr,
  36.                                                         double NewLoudness);
  37.  
  38. /* get the instrument's frequency LFO list */
  39. struct LFOListSpecRec*        GetInstrumentFrequencyLFOList(InstrumentRec* Instr);
  40.  
  41. /* get the instrument's oscillator list */
  42. struct OscillatorListRec*    GetInstrumentOscillatorList(InstrumentRec* Instr);
  43.  
  44. /* resolve oscillator name references in modulation lists. returns False if there */
  45. /* are unresolvable names */
  46. MyBoolean                                    ResolveInstrOscillatorModulations(InstrumentRec* Instr);
  47.  
  48. #endif
  49.